﻿using System;
using System.Collections.Generic;
using Gp.Scripts.Core;
using UnityEngine;

namespace Gp.Scripts.Data {
    public abstract class BuffEntityConfig : BaseEntityConfigObject {
        public List<BuffTags> tags;
        public UnitBuffFx buffFx;


        public abstract BaseBuff BuildBuff();


        public override string ItemName { get; set; }
        
        public override string Description { get; set; }

        public override Sprite Icon { get; set; }

// #if UNITY_EDITOR
//         protected virtual bool EditableBonus => true;
// #endif
    }

    /// <summary>
    /// 用于代码创建的临时buff
    /// </summary>
    // [IgnoreCreateAsset]
    public class DefaultBuffEntityConfig : BuffEntityConfig {
        public void Init() {
            this.tags = new List<BuffTags>();
        }
        
        // public override string FileName() {
        //     throw new Exception("should not build this object");
        // }

        public override BaseBuff BuildBuff() {
            throw new System.NotImplementedException();
        }
    }
}